<?php
/**
 * RestAdminBaseController控制器注意：
 * 请求接口，header必须带入字段：
 * Authorization 或 XX-Token，XX-Token=$token即可，Authorization要带“Bearer ”=Bearer $token
 * XX-Device-Type=web
 * 获得管理员id不能用cmf_get_current_admin_id()函数，要用类属性
 * $this->userId;
 * $this->user;
 * $this->userType;
 */

/**
 * 已登录的当前用户一些功能接口
 */
namespace api\v1\controller;

use api\v1\model\CmfRoleUserModel;
use api\v1\model\CmfUserModel;
use api\v1\model\XmglZzjgUserModel;
use api\v1\service\UserService;
use cmf\controller\RestAdminBaseController;

class CurrentUserController extends RestAdminBaseController
{
    /**
     * 获得当前已登录用户数据，包括组织机构 和 角色
     */
    public function getLoginUserInfo()
    {
        $user_id = $this->userId;

        $xzum = new XmglZzjgUserModel();
        $zzjgRes = $xzum->getZzjgArrByUserID($user_id);

        $crum = new CmfRoleUserModel();
        $roleRes = $crum->getRoleArrByUserID($user_id);

        $cum = new CmfUserModel();
        $userRes = $cum->find($user_id);

        $userRes['zzjg'] = $zzjgRes;
        $userRes['role'] = $roleRes;

        $this->success('当前登录用户信息', $userRes);
    }


    /**
     * 获得 当前用户所属机构的销售人员
     */
    public function getXsArr()
    {
        $user_id = $this->userId;

        $us = new UserService();
        $zzjgIdArr = $us->getUserZzjgIdArr($user_id);
        $list = $us->getZzjgRoleUserList($zzjgIdArr,config('xmgl.salesman'));
        $this->success('200 ok', $list);
    }

    /**
     * 获得 当前用户所属机构的销售和售前人员
     */
    public function getXsAndShqArr()
    {
        $user_id = $this->userId;

        $us = new UserService();
        $zzjgIdArr = $us->getUserZzjgIdArr($user_id);

        $a[] = config('xmgl.presale');
        $a[] = config('xmgl.presale_ks');
        $a[] = config('xmgl.presale_jx');
        $a[] = config('xmgl.salesman');
        $list = $us->getZzjgRoleUserList($zzjgIdArr, $a);

        $this->success('200 ok', $list);
    }

    /**
     * 获取当前用户的所属组织机构
     */
    public function getUserZzjg(){
        $xzum = new XmglZzjgUserModel();
        $zzjgList = $xzum->getZzjgArrByUserID($this->userId);
        if (empty($zzjgList)) $this->error('');
        $this->success($zzjgList);
    }

    /**
     * 获取当前用户的角色
     */
    public function getUserRole(){
        $crum = new CmfRoleUserModel();
        $roleList = $crum->getRoleArrByUserID($this->userId);
        if (empty($roleList)) $this->error('');
        $this->success($roleList);
    }

    /**
     * 显示资源列表
     */
    public function index()
    {
    }

    /**
     * 保存新建的资源
     */
    public function save()
    {
    }

    /**
     * 显示指定的资源
     *
     * @param  int $id
     */
    public function read($id)
    {
    }

    /**
     * 保存更新的资源
     *
     * @param  int $id
     */
    public function update($id)
    {
    }

    /**
     * 删除指定资源
     *
     * @param  int $id
     */
    public function delete($id)
    {
    }


}
